/*************************************************************
 * File: IParameterService.java
 * Copyright (c) 2012
 * Author: Huang Shaobin
 * Email: Shaobin.Software@gmail.com Shaobin_Software@163.com 
 * Date: Mar 8, 2013
 * Description: 
 ************************************************************/

package snow.biz.system.service;

import java.util.List;

import snow.biz.basic.service.IBaseService;
import snow.biz.system.model.Parameter;
import snow.core.domain.Pagination;
import snow.core.exceptions.BusinessException;
import snow.core.persistence.Conditions;
import snow.core.persistence.Order;
import snow.core.web.SystemParamService;

/**
 * 系统配置参数相关的服务接口类
 * 
 * @author Shaobin.Software@gmail.com Shaobin_Software@163.com
 * @version 1.0
 */
public interface IParameterService extends IBaseService, SystemParamService {

	Integer createParameterFrom(Parameter parameter) throws BusinessException;

	/**
	 * 执行物理删除操作，请慎用
	 * 
	 * @param parameter
	 * @throws BusinessException
	 */
	void deleteParameterFrom(Parameter parameter) throws BusinessException;

	void modifyParameterFrom(Parameter parameter) throws BusinessException;

	void removeParameterFrom(Parameter parameter) throws BusinessException;
	
	Parameter searchParameterFrom(Integer id) throws BusinessException;

	Pagination searchParametersForPagingFrom(Conditions conditions, List<Order> orders, int start, int limit) throws BusinessException;

	List<Parameter> searchParametersFrom(Conditions conditions, List<Order> orders, int start, int limit) throws BusinessException;
}
